A ready-made function for those who often have to use currency rates NBU in LibreOffice Calc .
Helps to automatically obtain the value of the exchange rate from NBU website by its code and date.
To add a feature import exchange rates of the NBU , open the menu Tools - Macros - Edit Macros... , select Module1 and copy the following text into this module:
Function NBU_RATE(ByVal pCurrency, ByVal pDate) 'moonexcel.com.ua Dim FCalc As Object If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD")) RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString)) NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit")) End Function
Close it Macro Editor and return to LibreOffice Calc .
Now you can manually enter our function NBU_RATE() . The syntax of this function is as follows:
=NBU_RATE (
We will have the following result:
You can also use the NBUA() function by installing the free extension YouLibreCalc.oxt or its full-featured version YLC_Utilities.oxt .
After that, this function will be available in all files that will be opened in LibreOffice Calc.